package com.xu.cloud.auth.component;

import com.xu.cloud.auth.pojo.domain.UserInfoDO;
import com.xu.cloud.common.auth.AuthContext;

/**
 * 用户信息组件
 *
 * @author xuguan
 * @since 2025/2/23
 */
public interface UserInfoComponent {

    /**
     * 通过用户id查询用户信息
     */
    UserInfoDO queryUserInfoByUserId(Long userId);

    /**
     * 通过手机号查询用户信息
     */
    UserInfoDO queryUserInfoByMobileNo(String mobileNo);

    /**
     * 通过登录名查询用户信息
     */
    UserInfoDO queryUserInfoByLoginName(String loginName);

    /**
     * 通过用户id查询用户角色权限信息
     */
    AuthContext queryAuthContext(Long userId);
}
